package com.think.admin.model.param.user;

import com.think.common.cons.Regex;
import com.think.common.convert.Convert;
import com.think.common.enums.SysUserTypeEnum;
import com.think.common.validation.CreateOrUpdate;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * <p>
 * 管理员用户
 * </p>
 *
 * @author: xwj
 * @data: 2019-04-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysUserParam extends Convert {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 用户账号
     */
    @Pattern(groups = {CreateOrUpdate.class}, regexp = Regex.USERNAME, message = "用户账号格式不正确")
    private String username;

    /**
     * 用户昵称
     */
    @NotBlank(groups = {CreateOrUpdate.class}, message = "用户昵称不能为空")
    private String name;

    /**
     * 账号类型 ：1.老板 2.财务 3.销售经理 4.渠道经理 5.销售
     */
    private SysUserTypeEnum type;

    /**
     * 公司关联id
     */
    private String companyId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 用户角色
     */
    private List<String> roleIdList;
}
